package com.aaa.util;



import java.util.concurrent.TimeUnit;
/**
 * fileName:DistributedLocker
 * description:
 * author:zxh
 * createTime:2020/3/19 9:43
 * version:1.0.0
 */
public interface DistributedLocker {
    /**
     * 不带时间的锁定方法
     * @param lockKey
     */
    void lock(String lockKey);

    /**
     * 带时间的锁定方法，默认为秒（实现类中自己定义）
     * @param lockKey
     * @param timeout
     */
    void lock(String lockKey, int timeout);

    /**
     * 带时间和单位的锁定方法
     * @param lockKey
     * @param unit
     * @param timeout
     */
    void lock(String lockKey, TimeUnit unit , int timeout);
    /**
     * 解锁方法
     * @param lockKey
     */
    void unlock(String lockKey);
}
